/**
** @version 1.0
** @package FARMAENLACE.
* @author Jorge Washington Mueses Cevallos.
* @copyright Copyright (C) 2011 por Jorge Mueses. Todos los derechos reservados.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL.
** FACTURAPYMES es un software de libre distribución, que puede ser
* copiado y distribuido bajo los términos de la Licencia
* Attribution-NonCommercial-NoDerivs 3.0 Unported,
* de acuerdo con la publicada por la CREATIVE COMMONS CORPORATION.
*/

package ec.com.yaku.seg;
import ec.com.yaku.seg.clases.Auditoria;
import ec.com.yaku.seg.clases.Usuario;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import javax.servlet.http.HttpSession;

public class Salir extends HttpServlet
{
    private String _IP = null;
    private int _PUERTO = 5432;
    private String _DB = null;
    private String _USUARIO = null;
    private String _CLAVE = null;

    public void init(ServletConfig config) throws ServletException
    {
        super.init(config);
        this._IP = config.getServletContext().getInitParameter("_IP");
        this._PUERTO = Integer.parseInt(config.getServletContext().getInitParameter("_PUERTO"));
        this._DB = config.getServletContext().getInitParameter("_DB");
        this._USUARIO = config.getServletContext().getInitParameter("_USUARIO");
        this._CLAVE = config.getServletContext().getInitParameter("_CLAVE");
    }

    public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        HttpSession sesion = request.getSession(true);
        String usuario = (String)sesion.getAttribute("usuario");
        String ip = (String)sesion.getAttribute("ip");
        
        response.setContentType("text/html;charset=UTF-8");
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Expires", "Mon, 01 Jan 2001 00:00:01 GMT");
        response.setHeader("Cache-Control", "no-store");
        response.setHeader("Cache-Control", "must-revalidate");
        response.setHeader("Cache-Control", "no-cache");

        sesion.removeAttribute("usuario");
        sesion.removeAttribute("perfil");
        sesion.removeAttribute("ip");
        sesion.removeAttribute("id_punto_emision");
        sesion.removeAttribute("cierre");
        sesion.invalidate();
        
        Usuario ubjUsuario = new Usuario(this._IP, this._PUERTO, this._DB, this._USUARIO, this._CLAVE);
        ubjUsuario.setSesion(usuario, "");
        ubjUsuario.cerrar();
        
        Auditoria auditoria = new Auditoria(this._IP, this._PUERTO, this._DB, this._USUARIO, this._CLAVE);
        auditoria.setRegistro(usuario, ip, "CIERRE DE SESION DEL USUARIO: "+usuario);
        auditoria.cerrar();
                            
        response.sendRedirect("index.jsp");
    }



        // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
    * Handles the HTTP <code>GET</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
    * Handles the HTTP <code>POST</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
}